This invention relates generally to techniques for improving accuracy in range measurements made in global positioning system (GPS) receivers and, more particularly, to a technique for improving the accuracy of range measurements derived from GPS codes, using related measurements derived from GPS carrier phase. For a better understanding of these concepts, the basic operation of a conventional GPS receiver is first described by way of background.
A GPS receiver makes use of multiple orbiting satellites to determine the position of the receiver in three-dimensions. Each satellite transmits radio-frequency (rf) signals on which are encoded a pseudo-random code of relatively long period. The satellite transmissions are controlled and accurately synchronized by ground stations, and the receiver can determine the range (straight-line distance) of each satellite from the timing of the received code, which is derived from the received rf signals. This calculated range to each satellite within view of the receiver is referred to as a pseudorange, because there is a time offset between a receiver clock and the timing of the satellite transmitters, and in general this time offset is not known. However, with at least four satellite signals, a receiver can solve for this time offset and the receiver position in three dimensions. Techniques for performing these calculations are now well known in GPS technology.
In order to calculate its position, a receiver must also have knowledge of the instantaneous positions of the satellites. This information is also transmitted to the receiver in modulated form with the rf signal from each satellite transmitter. Thus each satellite also transmits ephemeris data defining its orbit, as well as other data needed by the receiver, all in a standard format known to the receiver. It will be understood from this brief description that the key measurements made at the receiver are the pseudorange measurements for each satellite within view of the receiver. From the pseudorange measurements, the receiver calculates its position, and a necessary time correction.
The measurement of pseudoranges using GPS code techniques is subject to errors arising from several sources, the principal one of concern being multipath effects. Multipath errors result from the superposition of a reflected signal onto the original satellite transmission. The reflected signal may be from a geographical or architectural feature near the receiver. The effect of noise, principally multipath noise, on pseudorange measurements derived from GPS codes is to reduce the accuracy of the resultant position calculations made in the receiver. Therefore, much attention has been directed to techniques for improving the accuracy of the pseudorange measurements.
A measure of range may also be derived from the phase of the carrier signal as received, or actually as reconstructed, in the receiver. (The carrier has to be reconstructed because it is the nature of spread spectrum modulation, used to modulate the carrier in the satellite transmitters, that the carrier frequency is suppressed.) The phase of the reconstructed carrier signal, relative to a local clock in the receiver, is referred to as the "relative carrier phase." Because the wavelength of the carrier is much smaller than the wavelength of the pseudorandom code that modulates the carrier, the relative carrier phase provides a much more accurate measure of pseudorange, but one that is only potentially helpful because of the "whole-cycle ambiguity" of phase measurements. Although the receiver can measure relative phase to a small fraction of carrier wavelength, it cannot easily determine the number of whole carrier wavelengths between the receiver and the transmitter. Therefore, relative carrier phase by itself is not a useful measure of pseudorange.
A more useful phase measurement is referred to as "integrated carrier phase" or "integrated Doppler." From the time a satellite signal is first acquired as the satellite rises above the horizon, the relative carrier phase changes as a result of the Doppler effect. As the satellite moves toward the receiver and then recedes away from it, the perceived frequency of the carrier changes as a function of the relative velocity of the satellite. The integrated carrier phase is derived by integrating the time rate of change of the relative phase over a selected time interval. When the relative velocity of the satellite with respect to the receiver is zero, the rate of change of relative phase is zero. When the relative velocity is larger in a positive sense, as when the satellite is approaching the receiver, the rate of change of the relative phase is also larger. When the relative velocity is larger in the opposite sense, as when the satellite is receding, the rate of change of the relative phase is also larger in the opposite sense. Thus the rate of change of relative phase provides a measure of relative velocity, and the integral of relative phase over a time interval provides a measure of change of range over the same time period.
Fortunately, carrier phase measurements are not affected by multipath noise anywhere near as much as code measurements. This is largely a matter of their relative wavelengths. For some years it has been known that the fine accuracy and noise immunity of carrier phase measurements can be combined with the coarse accuracy of code measurements of pseudorange, to obtain virtually noise-free pseudorange code measurements. This process is usually referred to as "smoothing code measurements with carrier measurements," and was first described by one of the present inventors, Ronald R. Hatch, in "The Synergism of GPS Code and Carrier Measurements," Proc. of the Third (1982) Intl. Geodetic Symposium on Satellite Doppler Positioning," DMA/NOS. pp. 1213-32.
As described in the Hatch paper, the smoothing of code measurements with carrier measurements can be performed as a post-processing function, after code and carrier measurements have been accumulated for a time, or can be performed in real time. In the specific method described by Hatch, carrier measurements of range change are first mapped into delta-pseudorange values that take into account ionospheric effects. Then these values are subtracted from pseudorange code measurements made over the same time period. Since the pseudorange (code) measurements and the delta-pseudorange (carrier) measurements are affected to the same degree by the Doppler effect, this subtraction of accumulated Doppler from the pseudorange values should result in a relatively constant pseudorange signal, equivalent in value to the pseudorange at the start of the integration interval. This constant signal still contains noise, however, principally due to multipath effects. Next the relatively flat pseudorange signal is filtered to remove the noise, and then the delta-pseudorange values are added back in, to produce a smoothed set of pseudorange measurements.
The smoothing process described in the Hatch paper depends on having access to both of the two carrier signals provided by GPS satellites, at frequencies referred to as L.sub.1 and L.sub.2. Since ionospheric effects vary with frequency, they may be corrected for by using the carrier measurements obtained from the two satellite signals. For simpler, and much less costly, GPS receivers having only a single-frequency capability, use of the smoothing process enjoys more limited success because of the divergence of code and carrier pseudorange signals with the passage of time. The ionosphere affects code and carrier signals differently. As signals propagate through the ionosphere, they experience a delay proportional to the inverse of the square of the frequency. Code signals do indeed experience such a delay. Therefore, the code signals arrive late and cause the perceived pseudorange to be longer than its correct value. Carrier signals, on the other hand, experience an equal and opposite phase advance as a result of passage through the ionosphere, and the perceived carrier pseudorange is shorter than its correct value. Although this phenomenon is not intuitively obvious, it is a well understood and universally accepted principle of GPS technology.
Errors that influence pseudorange measurements can be considered as falling into three categories. The first category contains phenomena that affect code and carrier measurements in a similar manner. These can be eliminated by subtracting the carrier signals from the code signals, as is done in the smoothing process. The second category includes just multipath effects, which act principally on code signals, and negligibly on carrier signals. These are virtually eliminated by the filtering step of the smoothing process. This leaves only the third category: the ionospheric effect, which affects code and carrier signals in opposite senses. For a single-frequency receiver, the smoothing process can be carried out for only a limited time before the divergence of carrier and code measurements results in a large difference between the shape of the smoothed pseudorange code measurements and the unfiltered pseudorange code measurements. Typically, the smoothing process is used only for periods of ten to fifteen minutes, to minimize the effects of this divergence.
Accordingly, there is a need for an improved technique for smoothing GPS code measurements, to provide higher accuracy over longer periods of time. The need is especially evident in the context of differential GPS. The concept of differential GPS is based on the fact that errors experienced by a GPS receiver, which may be moving, correlate closely with similar errors experienced by another receiver, a reference receiver in a nearby location that has been accurately surveyed. Errors measured at the reference receiver are transmitted to other receivers in the vicinity, over a communication link unrelated to the GPS. These other receivers, referred to as remote receivers, can then generate very accurate differentially corrected location solutions.
In a conventional differential GPS configuration, the reference receiver, which knows its own position to a high degree of accuracy, computes the actual range of each satellite based on the receiver location and on orbital position data provided in the ephemeris data transmitted with the GPS signals. The reference receiver also obtains the pseudorange to each satellite from code measurements, and subtracts the computed pseudorange, to obtain a pseudorange error for each satellite. The pseudorange errors are transmitted to and received by the remote receiver, which applies these error values as corrections to its own pseudorange code measurements.
Smoothing of the code measurements with the carrier measurements is currently applied to differential GPS by smoothing for five to ten minutes in the reference receiver, to produce code corrections with reduced multipath noise, and in the remote receiver. A smoothed pseudorange error is transmitted to the remote receiver and applied to the smoothed pseudorange measurements. Smoothing for a longer interval results in greater divergence between the code and carrier measurements. Moreover, this arrangement works only so long as the smoothing intervals in the reference and remote receivers are concurrent in time. If there is loss of communication between the reference and remote receivers, each will restart its smoothing interval independently of the other, aggravating the divergence problem.
Ideally, what is needed is a technique for smoothing pseudorange code measurements over a longer period of time without concern about the effect of divergence between code and carrier measurements. Such a technique could be applied to stand-alone receivers or to differential GPS receivers. As will become apparent from the following summary, the present invention satisfies this need.